package com.ziroom.crm.mq.core.retry;

import com.ziroom.crm.mq.core.spi.SpiLoader;

import java.util.List;

/**
 * <p></p>
 * <p>
 * <PRE>
 * <BR>    修改记录
 * <BR>-----------------------------------------------
 * <BR>    修改日期         修改人          修改内容
 * </PRE>
 *
 * @author WeiShaoying
 * @version 1.0
 * @date Created in 2020年09月08日 16:12
 * @since 1.0
 */
public class RetryFactory {

    public static List<RetryPolicy> getRetryPolicy() {
        return SpiLoader.loadInstanceListSorted(RetryPolicy.class);
    }

    /**
     * 加载优先级最高的延迟策略
     *
     * @return
     */
    public static DelayPolicy getHighestPriorityDelayPolicy() {
        return SpiLoader.loadHighestPriorityInstance(DelayPolicy.class);
    }
}
